<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cppMISC: include/misc.hpp 文件参考</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript" src="../../darkmode_toggle.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cppMISC<span id="projectnumber">&#160;v1.1</span>
   </div>
   <div id="projectbrief">cppMisc 文档系统</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">宏定义</a> &#124;
<a href="#typedef-members">类型定义</a> &#124;
<a href="#func-members">函数</a> &#124;
<a href="#var-members">变量</a>  </div>
  <div class="headertitle"><div class="title">misc.hpp 文件参考</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &quot;<a class="el" href="../../d8/d68/fs_8hpp_source.html">fs.hpp</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
misc.hpp 的引用(Include)关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d7/da9/misc_8hpp__incl.png" border="0" usemap="#ainclude_2misc_8hpp" alt=""/></div>
<map name="ainclude_2misc_8hpp" id="ainclude_2misc_8hpp">
<area shape="rect" title=" " alt="" coords="396,5,515,32"/>
<area shape="rect" title=" " alt="" coords="308,155,361,181"/>
<area shape="poly" title=" " alt="" coords="447,34,356,144,352,141,443,31"/>
<area shape="rect" title=" " alt="" coords="5,229,77,256"/>
<area shape="poly" title=" " alt="" coords="433,35,79,224,76,220,431,30"/>
<area shape="rect" title=" " alt="" coords="532,304,609,331"/>
<area shape="poly" title=" " alt="" coords="516,30,567,46,621,71,672,106,694,128,711,153,719,176,717,198,708,219,693,238,653,272,611,299,608,294,650,268,689,234,703,216,712,196,714,176,707,156,689,132,668,110,619,76,565,51,515,35"/>
<area shape="rect" title=" " alt="" coords="508,80,566,107"/>
<area shape="poly" title=" " alt="" coords="472,31,514,68,510,72,468,35"/>
<area shape="rect" href="../../d8/d68/fs_8hpp.html" title=" " alt="" coords="427,80,484,107"/>
<area shape="poly" title=" " alt="" coords="458,33,458,64,453,64,453,33"/>
<area shape="poly" title=" " alt="" coords="436,110,370,149,367,144,433,105"/>
<area shape="poly" title=" " alt="" coords="464,105,485,141,519,179,546,194,572,199,597,206,609,215,619,228,624,245,621,263,599,294,595,291,616,261,619,246,615,231,605,219,594,211,571,204,544,199,515,183,481,144,459,108"/>
<area shape="rect" title=" " alt="" coords="529,155,609,181"/>
<area shape="poly" title=" " alt="" coords="477,105,538,144,535,148,474,109"/>
<area shape="rect" title=" " alt="" coords="633,155,697,181"/>
<area shape="poly" title=" " alt="" coords="486,102,619,148,617,153,484,107"/>
<area shape="rect" href="../../de/dfd/tree_8hpp.html" title=" " alt="" coords="386,155,454,181"/>
<area shape="poly" title=" " alt="" coords="452,108,435,142,430,139,447,106"/>
<area shape="poly" title=" " alt="" coords="386,181,374,184,234,208,92,231,91,226,233,202,372,179,384,176"/>
<area shape="poly" title=" " alt="" coords="434,180,549,291,545,295,431,184"/>
<area shape="rect" title=" " alt="" coords="536,229,604,256"/>
<area shape="poly" title=" " alt="" coords="447,179,531,220,529,225,445,184"/>
<area shape="rect" title=" " alt="" coords="224,229,292,256"/>
<area shape="poly" title=" " alt="" coords="393,184,301,225,299,220,390,179"/>
<area shape="rect" title=" " alt="" coords="316,229,355,256"/>
<area shape="poly" title=" " alt="" coords="407,184,363,221,360,217,403,180"/>
<area shape="rect" title=" " alt="" coords="378,229,461,256"/>
<area shape="poly" title=" " alt="" coords="422,182,422,214,417,214,417,182"/>
<area shape="rect" href="../../d6/de9/typetraits_8hpp.html" title=" " alt="" coords="100,229,200,256"/>
<area shape="poly" title=" " alt="" coords="386,181,213,227,211,222,384,176"/>
<area shape="poly" title=" " alt="" coords="201,251,212,253,517,305,516,310,211,259,200,257"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
此图展示该文件被哪些文件直接或间接地引用了:</div>
<div class="dyncontent">
<div class="center"><img src="../../d9/d9f/misc_8hpp__dep__incl.png" border="0" usemap="#ainclude_2misc_8hppdep" alt=""/></div>
<map name="ainclude_2misc_8hppdep" id="ainclude_2misc_8hppdep">
<area shape="rect" title=" " alt="" coords="2653,5,2772,32"/>
<area shape="rect" href="../../d6/d1f/bcd_8hpp.html" title=" " alt="" coords="21,88,133,115"/>
<area shape="poly" title=" " alt="" coords="2637,23,2116,28,1336,39,585,57,308,69,145,83,114,90,113,85,144,77,308,64,584,52,1336,34,2116,23,2637,18"/>
<area shape="rect" href="../../db/dd8/container_2avl_8hpp.html" title=" " alt="" coords="157,88,322,115"/>
<area shape="poly" title=" " alt="" coords="2638,23,2199,27,1539,37,859,55,573,68,358,83,304,90,304,85,358,77,573,62,858,50,1539,32,2199,22,2638,18"/>
<area shape="rect" href="../../df/df5/details_2ftp_8hpp.html" title=" " alt="" coords="437,88,586,115"/>
<area shape="poly" title=" " alt="" coords="2638,24,1672,42,1083,60,837,70,650,83,586,90,586,85,650,77,836,65,1083,54,1672,37,2637,18"/>
<area shape="rect" href="../../df/df7/file_client_8hpp.html" title=" " alt="" coords="283,179,425,205"/>
<area shape="poly" title=" " alt="" coords="2638,23,2144,24,1424,32,1067,39,758,50,533,64,462,73,426,82,401,103,382,130,360,179,355,177,377,127,397,99,424,78,461,68,532,59,758,45,1067,34,1424,27,2144,19,2638,17"/>
<area shape="rect" href="../../de/d8b/details_2ftp_8cpp.html" title=" " alt="" coords="449,179,574,205"/>
<area shape="poly" title=" " alt="" coords="2638,23,2222,26,1623,35,1321,42,1053,53,845,66,771,74,723,83,665,103,610,130,530,181,527,176,608,125,663,98,721,77,770,69,844,61,1053,47,1321,37,1623,30,2222,21,2638,18"/>
<area shape="rect" href="../../d4/d64/fsm2_8hpp.html" title=" " alt="" coords="1129,88,1249,115"/>
<area shape="poly" title=" " alt="" coords="2638,24,2352,28,1954,39,1554,56,1388,68,1263,83,1229,90,1228,85,1262,77,1388,63,1554,51,1954,33,2352,23,2638,18"/>
<area shape="rect" href="../../d7/dae/log_file_8hpp.html" title=" " alt="" coords="1274,88,1403,115"/>
<area shape="poly" title=" " alt="" coords="2638,24,2026,42,1673,59,1527,70,1416,83,1381,90,1380,85,1415,77,1526,65,1673,54,2026,36,2638,19"/>
<area shape="rect" href="../../d2/d37/epoll_8hpp.html" title=" " alt="" coords="1427,80,1588,123"/>
<area shape="poly" title=" " alt="" coords="2638,23,2455,26,2200,35,1906,53,1608,83,1589,85,1588,80,1607,77,1906,48,2200,30,2455,21,2638,18"/>
<area shape="rect" href="../../da/d8b/epoll_8cpp.html" title=" " alt="" coords="1632,171,1770,213"/>
<area shape="poly" title=" " alt="" coords="2638,24,2389,30,2069,42,1788,59,1696,70,1668,76,1655,82,1649,91,1646,102,1651,125,1665,148,1682,169,1678,172,1661,151,1646,127,1641,102,1644,89,1651,78,1666,71,1695,65,1787,54,2069,37,2389,25,2637,19"/>
<area shape="rect" href="../../da/de9/sslsocket_8hpp.html" title=" " alt="" coords="598,179,745,205"/>
<area shape="poly" title=" " alt="" coords="2638,24,2216,29,1617,41,1066,59,879,70,821,76,790,82,755,103,724,130,682,180,678,176,720,126,752,99,788,78,820,71,879,65,1066,53,1617,36,2216,24,2638,18"/>
<area shape="rect" href="../../d5/d16/tcpbase_8hpp.html" title=" " alt="" coords="1664,88,1802,115"/>
<area shape="poly" title=" " alt="" coords="2638,24,2488,28,2285,38,2054,55,1821,83,1782,90,1781,85,1820,77,2053,50,2284,33,2487,23,2638,18"/>
<area shape="rect" href="../../d6/d9a/uv__tcp__c_8cpp.html" title=" " alt="" coords="1794,179,1915,205"/>
<area shape="poly" title=" " alt="" coords="2637,23,2441,25,2198,33,2081,40,1981,51,1906,65,1881,73,1867,82,1853,104,1849,130,1850,157,1853,178,1848,179,1844,157,1843,130,1848,102,1863,78,1879,68,1905,60,1980,46,2081,35,2197,27,2441,19,2637,17"/>
<area shape="rect" href="../../d0/de3/timer__old_8hpp.html" title=" " alt="" coords="1877,88,2021,115"/>
<area shape="poly" title=" " alt="" coords="2638,26,2370,43,2202,60,2033,83,1997,90,1996,85,2032,77,2201,54,2370,38,2638,20"/>
<area shape="rect" href="../../d5/d3a/url_8hpp.html" title=" " alt="" coords="800,88,906,115"/>
<area shape="poly" title=" " alt="" coords="2637,24,1815,41,1323,59,1118,70,962,83,906,91,906,86,962,77,1117,65,1323,54,1815,36,2637,18"/>
<area shape="rect" href="../../d3/de0/http_file_8cpp.html" title=" " alt="" coords="899,179,1052,205"/>
<area shape="poly" title=" " alt="" coords="2638,22,2288,22,1802,28,1559,35,1345,46,1179,62,1122,71,1085,82,1052,103,1023,130,985,180,981,176,1019,126,1048,99,1082,78,1121,66,1179,56,1344,41,1559,30,1802,23,2288,17,2638,17"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html" title=" " alt="" coords="1076,179,1160,205"/>
<area shape="poly" title=" " alt="" coords="2638,23,2274,24,1773,32,1530,39,1321,50,1171,64,1126,73,1104,82,1097,92,1094,104,1095,130,1103,156,1113,177,1108,179,1098,158,1089,131,1088,103,1092,90,1100,78,1124,68,1170,59,1321,44,1529,34,1773,26,2274,19,2637,17"/>
<area shape="rect" href="../../d6/d0e/url_8cpp.html" title=" " alt="" coords="1184,179,1266,205"/>
<area shape="poly" title=" " alt="" coords="2638,23,2277,24,1781,32,1540,39,1334,50,1185,64,1140,73,1119,82,1111,94,1111,107,1118,120,1130,133,1163,157,1198,176,1195,180,1160,161,1126,137,1114,123,1106,108,1106,93,1115,78,1139,68,1184,59,1333,45,1540,34,1781,27,2277,19,2638,17"/>
<area shape="rect" href="../../d1/d41/uv__udp__c_8hpp.html" title=" " alt="" coords="2044,88,2192,115"/>
<area shape="poly" title=" " alt="" coords="2638,29,2441,49,2204,83,2168,90,2167,85,2203,77,2440,44,2638,24"/>
<area shape="rect" href="../../d6/d3f/backtrace_8cpp.html" title=" " alt="" coords="2216,88,2341,115"/>
<area shape="poly" title=" " alt="" coords="2638,33,2505,54,2353,83,2323,90,2322,85,2352,77,2504,49,2637,28"/>
<area shape="rect" href="../../d6/d0f/cconffile_8cpp.html" title=" " alt="" coords="2365,88,2482,115"/>
<area shape="poly" title=" " alt="" coords="2652,39,2495,83,2469,90,2467,85,2493,77,2651,34"/>
<area shape="rect" href="../../df/db6/connection_8cpp.html" title=" " alt="" coords="2506,88,2637,115"/>
<area shape="poly" title=" " alt="" coords="2679,42,2595,90,2592,85,2676,38"/>
<area shape="rect" href="../../df/d84/crypto_8cpp.html" title=" " alt="" coords="2661,88,2765,115"/>
<area shape="poly" title=" " alt="" coords="2716,48,2716,88,2710,88,2710,48"/>
<area shape="rect" href="../../d1/d00/debug_8cpp.html" title=" " alt="" coords="2789,88,2892,115"/>
<area shape="poly" title=" " alt="" coords="2747,38,2822,85,2820,90,2744,43"/>
<area shape="rect" href="../../de/d0c/ali_o_s_s_8cpp.html" title=" " alt="" coords="2917,88,3068,115"/>
<area shape="poly" title=" " alt="" coords="2772,34,2950,85,2948,90,2770,39"/>
<area shape="rect" href="../../db/d08/confdom_8cpp.html" title=" " alt="" coords="3093,88,3253,115"/>
<area shape="poly" title=" " alt="" coords="2788,28,3081,77,3118,85,3116,90,3080,83,2787,34"/>
<area shape="rect" href="../../db/da8/conffilexml_8cpp.html" title=" " alt="" coords="3277,88,3450,115"/>
<area shape="poly" title=" " alt="" coords="2788,23,3003,44,3265,77,3306,85,3305,90,3264,83,3003,49,2788,29"/>
<area shape="rect" href="../../d9/db7/linux_serial_8cpp.html" title=" " alt="" coords="3474,88,3645,115"/>
<area shape="poly" title=" " alt="" coords="2788,20,3084,38,3273,55,3463,77,3505,85,3504,90,3462,83,3272,60,3084,43,2788,26"/>
<area shape="rect" href="../../d1/d91/linux_timer_8cpp.html" title=" " alt="" coords="3669,88,3839,115"/>
<area shape="poly" title=" " alt="" coords="2788,19,2946,23,3162,33,3408,50,3657,77,3700,85,3699,90,3656,83,3408,56,3162,38,2946,28,2788,24"/>
<area shape="rect" href="../../d6/d97/tcplinux_8cpp.html" title=" " alt="" coords="3863,88,4018,115"/>
<area shape="poly" title=" " alt="" coords="2788,17,2976,19,3240,27,3544,45,3699,59,3852,77,3892,85,3891,90,3851,83,3699,64,3543,50,3239,32,2976,24,2788,22"/>
<area shape="rect" href="../../d0/d04/win_serial_8cpp.html" title=" " alt="" coords="4043,88,4206,115"/>
<area shape="poly" title=" " alt="" coords="2788,16,3001,17,3309,24,3666,42,3850,57,4031,77,4073,85,4072,90,4030,83,3850,63,3666,48,3308,29,3001,22,2788,22"/>
<area shape="rect" href="../../dd/da0/win_timer_8cpp.html" title=" " alt="" coords="4231,88,4394,115"/>
<area shape="poly" title=" " alt="" coords="2788,19,3497,37,3913,54,4087,65,4219,77,4261,85,4261,90,4218,83,4087,70,3913,59,3497,42,2788,24"/>
<area shape="rect" href="../../d3/d58/fs_8cpp.html" title=" " alt="" coords="4418,88,4498,115"/>
<area shape="poly" title=" " alt="" coords="2788,17,3117,16,3586,22,3831,29,4060,40,4258,56,4407,77,4431,85,4430,90,4406,83,4257,61,4060,46,3831,35,3586,27,3117,22,2788,22"/>
<area shape="rect" href="../../d2/d03/http_8cpp.html" title=" " alt="" coords="4522,88,4613,115"/>
<area shape="poly" title=" " alt="" coords="2788,17,3135,17,3634,23,3895,30,4140,41,4352,57,4511,77,4538,85,4536,90,4510,83,4351,62,4140,46,3895,35,3634,28,3135,22,2788,22"/>
<area shape="rect" href="../../d9/d59/ini_reader_8cpp.html" title=" " alt="" coords="4636,88,4760,115"/>
<area shape="poly" title=" " alt="" coords="2788,17,3154,19,3686,27,3965,34,4228,45,4454,59,4625,77,4659,85,4658,90,4624,83,4454,64,4228,50,3965,40,3686,32,3154,25,2788,23"/>
<area shape="rect" href="../../d2/da0/tcp_connection_8cpp.html" title=" " alt="" coords="4784,80,4922,123"/>
<area shape="poly" title=" " alt="" coords="2788,17,3179,19,3753,27,4341,45,4586,59,4772,77,4784,79,4783,85,4771,83,4586,65,4340,51,3753,33,3179,25,2788,23"/>
<area shape="rect" href="../../d0/d1f/iocp_8cpp.html" title=" " alt="" coords="4946,88,5130,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,3206,21,3827,31,4465,49,4733,61,4934,77,4982,85,4981,90,4934,83,4732,67,4465,54,3827,36,3206,27,2788,23"/>
<area shape="rect" href="../../d5/d96/md5_8cpp.html" title=" " alt="" coords="5154,88,5248,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,3284,22,4020,33,4729,51,4989,63,5143,77,5170,85,5169,90,5142,83,4989,68,4729,56,4020,38,3284,28,2788,23"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html" title=" " alt="" coords="5271,88,5368,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,3306,22,4079,32,4824,50,5098,62,5260,77,5288,85,5287,90,5259,83,5098,68,4824,55,4079,38,3306,27,2788,23"/>
<area shape="rect" href="../../d8/d5b/mqtt_8cpp.html" title=" " alt="" coords="5392,88,5487,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,3327,22,4138,31,4922,49,5210,62,5312,69,5380,77,5408,85,5407,90,5379,83,5312,75,5210,67,4921,54,4138,37,3327,27,2788,23"/>
<area shape="rect" href="../../d6/d77/resolver_8cpp.html" title=" " alt="" coords="5510,88,5625,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,3350,22,4197,33,5018,51,5320,63,5499,77,5531,85,5530,90,5498,83,5320,68,5018,56,4197,38,3350,28,2788,23"/>
<area shape="rect" href="../../d7/d17/stream_status_8cpp.html" title=" " alt="" coords="5649,88,5795,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,4265,35,5130,53,5449,64,5637,77,5677,85,5676,90,5636,83,5449,70,5130,58,4265,41,2788,23"/>
<area shape="rect" href="../../dc/de5/timer_8cpp.html" title=" " alt="" coords="5819,88,5916,115"/>
<area shape="poly" title=" " alt="" coords="2788,17,3403,20,4349,28,4834,35,5269,46,5608,60,5728,68,5808,77,5836,85,5835,90,5807,83,5728,73,5608,65,5269,51,4834,41,4349,33,3403,25,2787,23"/>
<area shape="rect" href="../../d0/dc9/timer__old_8cpp.html" title=" " alt="" coords="5940,88,6062,115"/>
<area shape="poly" title=" " alt="" coords="2788,18,3425,21,4409,31,5367,49,5721,61,5846,69,5929,77,5963,85,5962,90,5928,83,5846,74,5721,67,5367,54,4409,36,3425,26,2788,23"/>
<area shape="rect" href="../../dc/dfe/avl_8hpp.html" title=" " alt="" coords="5,179,114,205"/>
<area shape="poly" title=" " alt="" coords="201,124,86,180,84,176,199,119"/>
<area shape="rect" href="../../d4/dcf/trees_8hpp.html" title=" " alt="" coords="138,179,258,205"/>
<area shape="poly" title=" " alt="" coords="230,130,206,179,202,177,225,128"/>
<area shape="poly" title=" " alt="" coords="477,125,378,180,375,176,475,120"/>
<area shape="poly" title=" " alt="" coords="514,130,514,178,509,178,509,130"/>
<area shape="rect" href="../../d2/d97/log_file_8cpp.html" title=" " alt="" coords="1290,179,1397,205"/>
<area shape="poly" title=" " alt="" coords="1343,130,1345,178,1340,178,1337,130"/>
<area shape="rect" href="../../d2/da5/linux_8hpp.html" title=" " alt="" coords="1421,179,1607,205"/>
<area shape="poly" title=" " alt="" coords="1513,138,1516,178,1511,178,1508,138"/>
<area shape="poly" title=" " alt="" coords="1568,127,1657,168,1654,172,1566,132"/>
<area shape="poly" title=" " alt="" coords="1764,122,1838,176,1835,180,1761,126"/>
<area shape="poly" title=" " alt="" coords="785,115,626,139,437,173,404,181,403,175,436,168,625,134,784,110"/>
<area shape="poly" title=" " alt="" coords="789,122,587,173,559,181,557,176,585,168,787,116"/>
<area shape="poly" title=" " alt="" coords="814,124,699,180,696,176,812,119"/>
<area shape="poly" title=" " alt="" coords="884,122,960,176,956,180,881,126"/>
<area shape="poly" title=" " alt="" coords="909,117,1066,168,1086,176,1085,181,1064,173,908,122"/>
<area shape="rect" href="../../dc/d4c/tcp_svr_8cpp.html" title=" " alt="" coords="769,179,875,205"/>
<area shape="poly" title=" " alt="" coords="846,130,829,179,824,177,841,128"/>
<area shape="poly" title=" " alt="" coords="921,112,1039,135,1172,168,1194,176,1193,181,1171,173,1038,140,920,117"/>
<area shape="rect" href="../../de/d89/uv__udp__c_8cpp.html" title=" " alt="" coords="2056,179,2180,205"/>
<area shape="poly" title=" " alt="" coords="2121,130,2121,178,2116,178,2116,130"/>
</map>
</div>
</div>
<p><a href="../../d0/d0e/misc_8hpp_source.html">浏览该文件的源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
宏定义</h2></td></tr>
<tr class="memitem:afa7a41e86b5a1e570713a9b9bae068f0" id="r_afa7a41e86b5a1e570713a9b9bae068f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afa7a41e86b5a1e570713a9b9bae068f0">TRED</a>&#160;&#160;&#160;&quot;\033[31m&quot;</td></tr>
<tr class="memdesc:afa7a41e86b5a1e570713a9b9bae068f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">常用的一些工具算法或者定义  <br /></td></tr>
<tr class="separator:afa7a41e86b5a1e570713a9b9bae068f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a18f09d3bb5a5f03a55546e38f8efd8" id="r_a7a18f09d3bb5a5f03a55546e38f8efd8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a18f09d3bb5a5f03a55546e38f8efd8">ERR_MSG</a>&#160;&#160;&#160;<a class="el" href="#afa7a41e86b5a1e570713a9b9bae068f0">TRED</a></td></tr>
<tr class="separator:a7a18f09d3bb5a5f03a55546e38f8efd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70a9e4e4cfc9146e8009c8812c600c27" id="r_a70a9e4e4cfc9146e8009c8812c600c27"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a70a9e4e4cfc9146e8009c8812c600c27">TGREEN</a>&#160;&#160;&#160;&quot;\033[32m&quot;</td></tr>
<tr class="separator:a70a9e4e4cfc9146e8009c8812c600c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3334b4c7a06d103e2758af5421a6a1c5" id="r_a3334b4c7a06d103e2758af5421a6a1c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3334b4c7a06d103e2758af5421a6a1c5">OK_MSG</a>&#160;&#160;&#160;<a class="el" href="#a70a9e4e4cfc9146e8009c8812c600c27">TGREEN</a></td></tr>
<tr class="separator:a3334b4c7a06d103e2758af5421a6a1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0e1d2d6520a88d62913bbdbd8e84d4" id="r_aec0e1d2d6520a88d62913bbdbd8e84d4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aec0e1d2d6520a88d62913bbdbd8e84d4">TBLUE</a>&#160;&#160;&#160;&quot;\033[34m&quot;</td></tr>
<tr class="separator:aec0e1d2d6520a88d62913bbdbd8e84d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7af93a5ebfd8ccac4fec0d7f65b5f5cd" id="r_a7af93a5ebfd8ccac4fec0d7f65b5f5cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7af93a5ebfd8ccac4fec0d7f65b5f5cd">TYELLOW</a>&#160;&#160;&#160;&quot;\033[33m&quot;</td></tr>
<tr class="separator:a7af93a5ebfd8ccac4fec0d7f65b5f5cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f92dc8e39d938f21d077a42098bdedf" id="r_a0f92dc8e39d938f21d077a42098bdedf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f92dc8e39d938f21d077a42098bdedf">WARNING_MSG</a>&#160;&#160;&#160;<a class="el" href="#a7af93a5ebfd8ccac4fec0d7f65b5f5cd">TYELLOW</a></td></tr>
<tr class="separator:a0f92dc8e39d938f21d077a42098bdedf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0d4a58b35d49450ad09b7d84319a624" id="r_ac0d4a58b35d49450ad09b7d84319a624"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac0d4a58b35d49450ad09b7d84319a624">TNORMAL</a>&#160;&#160;&#160;&quot;\033[0m&quot;</td></tr>
<tr class="separator:ac0d4a58b35d49450ad09b7d84319a624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d500a34c624c2cae56bc25a31b12f3" id="r_a86d500a34c624c2cae56bc25a31b12f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(x)&#160;&#160;&#160;(void )x</td></tr>
<tr class="separator:a86d500a34c624c2cae56bc25a31b12f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab647704ca8edc0b779a8621c06c1d273" id="r_ab647704ca8edc0b779a8621c06c1d273"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab647704ca8edc0b779a8621c06c1d273">__FILE_name__</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
<tr class="separator:ab647704ca8edc0b779a8621c06c1d273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb1345a8509082faf29cbe52100958b3" id="r_adb1345a8509082faf29cbe52100958b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adb1345a8509082faf29cbe52100958b3">__LINE_no__</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
<tr class="separator:adb1345a8509082faf29cbe52100958b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ab25f0f8631cb1f49b0d75e7f9b8863" id="r_a1ab25f0f8631cb1f49b0d75e7f9b8863"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ab25f0f8631cb1f49b0d75e7f9b8863">LEFT_BRACE</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
<tr class="separator:a1ab25f0f8631cb1f49b0d75e7f9b8863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e876cdc2cc84e6dfeafde01db4d8a3d" id="r_a0e876cdc2cc84e6dfeafde01db4d8a3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e876cdc2cc84e6dfeafde01db4d8a3d">RIGHT_BRACE</a>&#160;&#160;&#160;&quot;&quot;</td></tr>
<tr class="separator:a0e876cdc2cc84e6dfeafde01db4d8a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11faaf23c26bedd3f630a4ed62fc0db1" id="r_a11faaf23c26bedd3f630a4ed62fc0db1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a11faaf23c26bedd3f630a4ed62fc0db1">__show_line</a>(str)</td></tr>
<tr class="separator:a11faaf23c26bedd3f630a4ed62fc0db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94252fbb098a3a13b05497928ee7bbd0" id="r_a94252fbb098a3a13b05497928ee7bbd0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94252fbb098a3a13b05497928ee7bbd0">__show_line_1</a>(format, ...)</td></tr>
<tr class="separator:a94252fbb098a3a13b05497928ee7bbd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a935295cf972b20015da66df600700833" id="r_a935295cf972b20015da66df600700833"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a935295cf972b20015da66df600700833">__show_line_2</a>()</td></tr>
<tr class="separator:a935295cf972b20015da66df600700833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e96928e16ca9022cb7002cde20a71da" id="r_a5e96928e16ca9022cb7002cde20a71da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5e96928e16ca9022cb7002cde20a71da">MSG</a>(str,  color)</td></tr>
<tr class="separator:a5e96928e16ca9022cb7002cde20a71da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47497e4d892bd8be1db0117d6cf456a6" id="r_a47497e4d892bd8be1db0117d6cf456a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a47497e4d892bd8be1db0117d6cf456a6">MSG_1</a>(format,  coor, ...)</td></tr>
<tr class="separator:a47497e4d892bd8be1db0117d6cf456a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a921f5e81135829921f06534e1df323a8" id="r_a921f5e81135829921f06534e1df323a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a921f5e81135829921f06534e1df323a8">MSG_2</a>()</td></tr>
<tr class="separator:a921f5e81135829921f06534e1df323a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39b3cc118c8339855e5578335a0b2417" id="r_a39b3cc118c8339855e5578335a0b2417"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a39b3cc118c8339855e5578335a0b2417">ERROR</a>(str)&#160;&#160;&#160;<a class="el" href="#a11faaf23c26bedd3f630a4ed62fc0db1">__show_line</a>( str )</td></tr>
<tr class="separator:a39b3cc118c8339855e5578335a0b2417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20264f7063bbb7af3a73b58075f07d0c" id="r_a20264f7063bbb7af3a73b58075f07d0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20264f7063bbb7af3a73b58075f07d0c">BACKTRACE</a>()&#160;&#160;&#160;do{}while(0)</td></tr>
<tr class="separator:a20264f7063bbb7af3a73b58075f07d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab66bafe0e3773f589f4a239eb3aaecff" id="r_ab66bafe0e3773f589f4a239eb3aaecff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab66bafe0e3773f589f4a239eb3aaecff">ERROR_MSG</a>(str)&#160;&#160;&#160;<a class="el" href="#a11faaf23c26bedd3f630a4ed62fc0db1">__show_line</a>( str )</td></tr>
<tr class="separator:ab66bafe0e3773f589f4a239eb3aaecff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad276adf60b6ce23b45da05a6df14c3cb" id="r_ad276adf60b6ce23b45da05a6df14c3cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad276adf60b6ce23b45da05a6df14c3cb">WARN_MSG</a>(str)&#160;&#160;&#160;<a class="el" href="#a5e96928e16ca9022cb7002cde20a71da">MSG</a>( str , <a class="el" href="#a7af93a5ebfd8ccac4fec0d7f65b5f5cd">TYELLOW</a> )</td></tr>
<tr class="separator:ad276adf60b6ce23b45da05a6df14c3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53211bf6f837a243f9cdd097bd68f463" id="r_a53211bf6f837a243f9cdd097bd68f463"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a53211bf6f837a243f9cdd097bd68f463">LOG</a>(enable,  msg)&#160;&#160;&#160;<a class="el" href="#a8d7b1a8651ec4b1742bdf9bd044fc4d2">log_base</a>( enable , std::cerr , msg )</td></tr>
<tr class="separator:a53211bf6f837a243f9cdd097bd68f463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b6806226cd2d301b0f7edd50825780f" id="r_a9b6806226cd2d301b0f7edd50825780f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b6806226cd2d301b0f7edd50825780f">LOGLN</a>(enable,  msg)&#160;&#160;&#160;<a class="el" href="#a92938bf426566e58f2c0eb0eca83c7e3">logln_base</a>( enable , std::cerr , msg )</td></tr>
<tr class="separator:a9b6806226cd2d301b0f7edd50825780f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5eefdab78e9f53d4615b50d8f9b057c" id="r_ad5eefdab78e9f53d4615b50d8f9b057c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad5eefdab78e9f53d4615b50d8f9b057c">C_STR_LEN</a>(str)&#160;&#160;&#160;str , &quot;str&quot;_c_strLen</td></tr>
<tr class="separator:ad5eefdab78e9f53d4615b50d8f9b057c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
类型定义</h2></td></tr>
<tr class="memitem:afc91d3cceff94258bb6566969046caa5" id="r_afc91d3cceff94258bb6566969046caa5"><td class="memItemLeft" align="right" valign="top">typedef uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a></td></tr>
<tr class="separator:afc91d3cceff94258bb6566969046caa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:a94febd15cfa38c4e0f3e8b90aaec5dc3" id="r_a94febd15cfa38c4e0f3e8b90aaec5dc3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a94febd15cfa38c4e0f3e8b90aaec5dc3">nowStr</a> ()</td></tr>
<tr class="memdesc:a94febd15cfa38c4e0f3e8b90aaec5dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">当前时间的字符串  <br /></td></tr>
<tr class="separator:a94febd15cfa38c4e0f3e8b90aaec5dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7b1a8651ec4b1742bdf9bd044fc4d2" id="r_a8d7b1a8651ec4b1742bdf9bd044fc4d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8d7b1a8651ec4b1742bdf9bd044fc4d2">log_base</a> (bool enable, std::ostream &amp;os, const std::string &amp;msg)</td></tr>
<tr class="memdesc:a8d7b1a8651ec4b1742bdf9bd044fc4d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">输出信息到指定的流  <br /></td></tr>
<tr class="separator:a8d7b1a8651ec4b1742bdf9bd044fc4d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92938bf426566e58f2c0eb0eca83c7e3" id="r_a92938bf426566e58f2c0eb0eca83c7e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a92938bf426566e58f2c0eb0eca83c7e3">logln_base</a> (bool, std::ostream &amp;, const std::string &amp;)</td></tr>
<tr class="memdesc:a92938bf426566e58f2c0eb0eca83c7e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">按照行输出信息，也就是完成输出消息后再自动添加一个换行  <br /></td></tr>
<tr class="separator:a92938bf426566e58f2c0eb0eca83c7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d1e0a91bfa612dce72b060d9e15119" id="r_ac7d1e0a91bfa612dce72b060d9e15119"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac7d1e0a91bfa612dce72b060d9e15119">hash_</a> (char const *str)</td></tr>
<tr class="separator:ac7d1e0a91bfa612dce72b060d9e15119"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66cc7710f40747bfea171b40a8018b8e" id="r_a66cc7710f40747bfea171b40a8018b8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a66cc7710f40747bfea171b40a8018b8e">hash_</a> (char const *str, size_t len)</td></tr>
<tr class="separator:a66cc7710f40747bfea171b40a8018b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d1f4bc2d820a40633066a2b177be8f0" id="r_a6d1f4bc2d820a40633066a2b177be8f0"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d1f4bc2d820a40633066a2b177be8f0">hash_compile_time</a> (char const *str, <a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> last_value=<a class="el" href="#a7e44195ffbad9da273e65efb7ed69975">__basis</a>)</td></tr>
<tr class="separator:a6d1f4bc2d820a40633066a2b177be8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63f67c35d2dc8d92a9ea6da0eee9eaa0" id="r_a63f67c35d2dc8d92a9ea6da0eee9eaa0"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a63f67c35d2dc8d92a9ea6da0eee9eaa0">operator&quot;&quot;_hash</a> (const char *data, size_t)</td></tr>
<tr class="separator:a63f67c35d2dc8d92a9ea6da0eee9eaa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1d4376cb392143209ab5048310f2742" id="r_ad1d4376cb392143209ab5048310f2742"><td class="memItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad1d4376cb392143209ab5048310f2742">operator&quot;&quot;_c_strLen</a> (const char *, size_t N)</td></tr>
<tr class="separator:ad1d4376cb392143209ab5048310f2742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57a708e347fb48a1bd1b9dc31c00bd15" id="r_a57a708e347fb48a1bd1b9dc31c00bd15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a57a708e347fb48a1bd1b9dc31c00bd15">gbk2utf8</a> (const char *from, size_t len, char **rst, size_t &amp;rlen)</td></tr>
<tr class="memdesc:a57a708e347fb48a1bd1b9dc31c00bd15"><td class="mdescLeft">&#160;</td><td class="mdescRight">GBK编码转换成UTF8编码  <br /></td></tr>
<tr class="separator:a57a708e347fb48a1bd1b9dc31c00bd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39313e865510655edf68b11cbf7b7b6f" id="r_a39313e865510655edf68b11cbf7b7b6f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a39313e865510655edf68b11cbf7b7b6f">utf2gbk</a> (const std::string &amp;msg, char **data)</td></tr>
<tr class="memdesc:a39313e865510655edf68b11cbf7b7b6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF8编码转换成GBK编码  <br /></td></tr>
<tr class="separator:a39313e865510655edf68b11cbf7b7b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60fd19bc6b440bebc49e3a72cec3de0c" id="r_a60fd19bc6b440bebc49e3a72cec3de0c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a60fd19bc6b440bebc49e3a72cec3de0c">reverseByte</a> (void *data, size_t len)</td></tr>
<tr class="memdesc:a60fd19bc6b440bebc49e3a72cec3de0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">将数据按照字节方式改变大小端。长度必须是偶数的，否则返回错误  <br /></td></tr>
<tr class="separator:a60fd19bc6b440bebc49e3a72cec3de0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ff437d0b446235c74667f8bb5fceac" id="r_aa0ff437d0b446235c74667f8bb5fceac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa0ff437d0b446235c74667f8bb5fceac">ps</a> (const std::string &amp;pattern, std::function&lt; void(std::vector&lt; std::string &gt; &amp;&amp;) &gt; fun)</td></tr>
<tr class="memdesc:aa0ff437d0b446235c74667f8bb5fceac"><td class="mdescLeft">&#160;</td><td class="mdescRight">查看进程列表  <br /></td></tr>
<tr class="separator:aa0ff437d0b446235c74667f8bb5fceac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb335c27232d047e28e7123f58fadb76" id="r_abb335c27232d047e28e7123f58fadb76"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abb335c27232d047e28e7123f58fadb76">localIP</a> (const std::string &amp;eth)</td></tr>
<tr class="memdesc:abb335c27232d047e28e7123f58fadb76"><td class="mdescLeft">&#160;</td><td class="mdescRight">查询指定网卡IP地址  <br /></td></tr>
<tr class="separator:abb335c27232d047e28e7123f58fadb76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa55d507cca1bd486b35f16db6e683c1f" id="r_aa55d507cca1bd486b35f16db6e683c1f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa55d507cca1bd486b35f16db6e683c1f">isIPv4</a> (const std::string &amp;ipstr)</td></tr>
<tr class="memdesc:aa55d507cca1bd486b35f16db6e683c1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">判断是否是IPv4字符串  <br /></td></tr>
<tr class="separator:aa55d507cca1bd486b35f16db6e683c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac79a4e05918d249ac1b0ea6c1c4d20d5" id="r_ac79a4e05918d249ac1b0ea6c1c4d20d5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac79a4e05918d249ac1b0ea6c1c4d20d5">isIPv6</a> (const std::string &amp;ipstr)</td></tr>
<tr class="memdesc:ac79a4e05918d249ac1b0ea6c1c4d20d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">判断是否是IPv6字符串  <br /></td></tr>
<tr class="separator:ac79a4e05918d249ac1b0ea6c1c4d20d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8a8a7ed4acfadc5c30d7950fc7e8260" id="r_ac8a8a7ed4acfadc5c30d7950fc7e8260"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac8a8a7ed4acfadc5c30d7950fc7e8260">parseGMT</a> (const std::string &amp;gmt, int loc=8)</td></tr>
<tr class="memdesc:ac8a8a7ed4acfadc5c30d7950fc7e8260"><td class="mdescLeft">&#160;</td><td class="mdescRight">解析GMT时间字符串  <br /></td></tr>
<tr class="separator:ac8a8a7ed4acfadc5c30d7950fc7e8260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1281e08e5da281269eef64e5790c4116" id="r_a1281e08e5da281269eef64e5790c4116"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1281e08e5da281269eef64e5790c4116">fileNameFromPath</a> (const std::string &amp;path, std::string &amp;name)</td></tr>
<tr class="memdesc:a1281e08e5da281269eef64e5790c4116"><td class="mdescLeft">&#160;</td><td class="mdescRight">从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录  <br /></td></tr>
<tr class="separator:a1281e08e5da281269eef64e5790c4116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab148021dd478aa69c83029819b268737" id="r_ab148021dd478aa69c83029819b268737"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab148021dd478aa69c83029819b268737">getFileSize</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:ab148021dd478aa69c83029819b268737"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取文件大小  <br /></td></tr>
<tr class="separator:ab148021dd478aa69c83029819b268737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad87e6be76e73d5a94404e82ccfcd082b" id="r_ad87e6be76e73d5a94404e82ccfcd082b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad87e6be76e73d5a94404e82ccfcd082b">getLocalIP</a> (bool ipv4=true)</td></tr>
<tr class="memdesc:ad87e6be76e73d5a94404e82ccfcd082b"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取本机的IP地址  <br /></td></tr>
<tr class="separator:ad87e6be76e73d5a94404e82ccfcd082b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23cfcaab6b6df224338877527e1f49dc" id="r_a23cfcaab6b6df224338877527e1f49dc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a23cfcaab6b6df224338877527e1f49dc">split</a> (const std::string &amp;str, char c, std::vector&lt; std::string &gt; &amp;rst)</td></tr>
<tr class="memdesc:a23cfcaab6b6df224338877527e1f49dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">将字符串按照指定的标记分割成多个字符串  <br /></td></tr>
<tr class="separator:a23cfcaab6b6df224338877527e1f49dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc75a513912f0c4d40d5882955b411c1" id="r_adc75a513912f0c4d40d5882955b411c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adc75a513912f0c4d40d5882955b411c1">isDir</a> (const std::string &amp;dir)</td></tr>
<tr class="memdesc:adc75a513912f0c4d40d5882955b411c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">判断是否是目录  <br /></td></tr>
<tr class="separator:adc75a513912f0c4d40d5882955b411c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d89edea2694a572f10f019e2b0731c5" id="r_a7d89edea2694a572f10f019e2b0731c5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d89edea2694a572f10f019e2b0731c5">fileName</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:a7d89edea2694a572f10f019e2b0731c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">从路径中抽取文件名。  <br /></td></tr>
<tr class="separator:a7d89edea2694a572f10f019e2b0731c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6ab57aaa484b0046c82e74c5c30e050" id="r_aa6ab57aaa484b0046c82e74c5c30e050"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6ab57aaa484b0046c82e74c5c30e050">dirEmpty</a> (const std::string &amp;dir)</td></tr>
<tr class="memdesc:aa6ab57aaa484b0046c82e74c5c30e050"><td class="mdescLeft">&#160;</td><td class="mdescRight">判断目录是否为空  <br /></td></tr>
<tr class="separator:aa6ab57aaa484b0046c82e74c5c30e050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82532c7da66cb6f199552ed698d23c48" id="r_a82532c7da66cb6f199552ed698d23c48"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a82532c7da66cb6f199552ed698d23c48">removeFile</a> (const std::string &amp;path, const std::string &amp;pattern, bool re)</td></tr>
<tr class="memdesc:a82532c7da66cb6f199552ed698d23c48"><td class="mdescLeft">&#160;</td><td class="mdescRight">removeFile  <br /></td></tr>
<tr class="separator:a82532c7da66cb6f199552ed698d23c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91bf6ce30f0a6e35897002a612542d66" id="r_a91bf6ce30f0a6e35897002a612542d66"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a91bf6ce30f0a6e35897002a612542d66">clearDir</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:a91bf6ce30f0a6e35897002a612542d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">删除当前目录下的所有内容  <br /></td></tr>
<tr class="separator:a91bf6ce30f0a6e35897002a612542d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad605102266bc9a7e031f96829c2025c2" id="r_ad605102266bc9a7e031f96829c2025c2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad605102266bc9a7e031f96829c2025c2">cpuID</a> ()</td></tr>
<tr class="memdesc:ad605102266bc9a7e031f96829c2025c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取CPU ID  <br /></td></tr>
<tr class="separator:ad605102266bc9a7e031f96829c2025c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e82baec4cd1113d77b65371f3b8c3b" id="r_a61e82baec4cd1113d77b65371f3b8c3b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61e82baec4cd1113d77b65371f3b8c3b">ExeCmd</a> (std::string pszCmd)</td></tr>
<tr class="memdesc:a61e82baec4cd1113d77b65371f3b8c3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">执行外部程序，返回程序执行的标准输出结果  <br /></td></tr>
<tr class="separator:a61e82baec4cd1113d77b65371f3b8c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac19d75ec7032d98bde0b289f395bf9af" id="r_ac19d75ec7032d98bde0b289f395bf9af"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac19d75ec7032d98bde0b289f395bf9af">ExecCmd</a> (std::string pszCmd, bool detachParent=false)</td></tr>
<tr class="separator:ac19d75ec7032d98bde0b289f395bf9af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa7cd844529d35582ff924713a697184" id="r_aaa7cd844529d35582ff924713a697184"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaa7cd844529d35582ff924713a697184">execCmd</a> (std::string pszCmd, std::function&lt; void(const std::string &amp;)&gt; fun)</td></tr>
<tr class="memdesc:aaa7cd844529d35582ff924713a697184"><td class="mdescLeft">&#160;</td><td class="mdescRight">异步执行外部程序，通过回调函数获取程序输出的标准流数据  <br /></td></tr>
<tr class="separator:aaa7cd844529d35582ff924713a697184"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
变量</h2></td></tr>
<tr class="memitem:a2094690597548488e18bb486e2f72263" id="r_a2094690597548488e18bb486e2f72263"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2094690597548488e18bb486e2f72263">G_LOG_BUF</a> []</td></tr>
<tr class="separator:a2094690597548488e18bb486e2f72263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e44195ffbad9da273e65efb7ed69975" id="r_a7e44195ffbad9da273e65efb7ed69975"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e44195ffbad9da273e65efb7ed69975">__basis</a> = 0xCBF29CE484222325ull</td></tr>
<tr class="separator:a7e44195ffbad9da273e65efb7ed69975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f54077a0fc6bbefd339a1621aedf256" id="r_a4f54077a0fc6bbefd339a1621aedf256"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f54077a0fc6bbefd339a1621aedf256">__prime</a> = 0x100000001B3ull</td></tr>
<tr class="separator:a4f54077a0fc6bbefd339a1621aedf256"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">宏定义说明</h2>
<a id="ab647704ca8edc0b779a8621c06c1d273" name="ab647704ca8edc0b779a8621c06c1d273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab647704ca8edc0b779a8621c06c1d273">&#9670;&#160;</a></span>__FILE_name__</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __FILE_name__&#160;&#160;&#160;&quot;&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00072">72</a> 行定义.</p>

</div>
</div>
<a id="adb1345a8509082faf29cbe52100958b3" name="adb1345a8509082faf29cbe52100958b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb1345a8509082faf29cbe52100958b3">&#9670;&#160;</a></span>__LINE_no__</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __LINE_no__&#160;&#160;&#160;&quot;&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00073">73</a> 行定义.</p>

</div>
</div>
<a id="a11faaf23c26bedd3f630a4ed62fc0db1" name="a11faaf23c26bedd3f630a4ed62fc0db1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11faaf23c26bedd3f630a4ed62fc0db1">&#9670;&#160;</a></span>__show_line</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __show_line</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00122">122</a> 行定义.</p>

</div>
</div>
<a id="a94252fbb098a3a13b05497928ee7bbd0" name="a94252fbb098a3a13b05497928ee7bbd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94252fbb098a3a13b05497928ee7bbd0">&#9670;&#160;</a></span>__show_line_1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __show_line_1</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>format</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em></em></span>...&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00123">123</a> 行定义.</p>

</div>
</div>
<a id="a935295cf972b20015da66df600700833" name="a935295cf972b20015da66df600700833"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a935295cf972b20015da66df600700833">&#9670;&#160;</a></span>__show_line_2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __show_line_2</td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00124">124</a> 行定义.</p>

</div>
</div>
<a id="a20264f7063bbb7af3a73b58075f07d0c" name="a20264f7063bbb7af3a73b58075f07d0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20264f7063bbb7af3a73b58075f07d0c">&#9670;&#160;</a></span>BACKTRACE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BACKTRACE</td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td>&#160;&#160;&#160;do{}while(0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00141">141</a> 行定义.</p>

</div>
</div>
<a id="ad5eefdab78e9f53d4615b50d8f9b057c" name="ad5eefdab78e9f53d4615b50d8f9b057c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5eefdab78e9f53d4615b50d8f9b057c">&#9670;&#160;</a></span>C_STR_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define C_STR_LEN</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
          <td>&#160;&#160;&#160;str , &quot;str&quot;_c_strLen</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00187">187</a> 行定义.</p>

</div>
</div>
<a id="a7a18f09d3bb5a5f03a55546e38f8efd8" name="a7a18f09d3bb5a5f03a55546e38f8efd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a18f09d3bb5a5f03a55546e38f8efd8">&#9670;&#160;</a></span>ERR_MSG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERR_MSG&#160;&#160;&#160;<a class="el" href="#afa7a41e86b5a1e570713a9b9bae068f0">TRED</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00034">34</a> 行定义.</p>

</div>
</div>
<a id="a39b3cc118c8339855e5578335a0b2417" name="a39b3cc118c8339855e5578335a0b2417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39b3cc118c8339855e5578335a0b2417">&#9670;&#160;</a></span>ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERROR</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="#a11faaf23c26bedd3f630a4ed62fc0db1">__show_line</a>( str )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00131">131</a> 行定义.</p>

</div>
</div>
<a id="ab66bafe0e3773f589f4a239eb3aaecff" name="ab66bafe0e3773f589f4a239eb3aaecff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab66bafe0e3773f589f4a239eb3aaecff">&#9670;&#160;</a></span>ERROR_MSG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ERROR_MSG</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="#a11faaf23c26bedd3f630a4ed62fc0db1">__show_line</a>( str )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00144">144</a> 行定义.</p>

</div>
</div>
<a id="a1ab25f0f8631cb1f49b0d75e7f9b8863" name="a1ab25f0f8631cb1f49b0d75e7f9b8863"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ab25f0f8631cb1f49b0d75e7f9b8863">&#9670;&#160;</a></span>LEFT_BRACE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LEFT_BRACE&#160;&#160;&#160;&quot;&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00074">74</a> 行定义.</p>

</div>
</div>
<a id="a53211bf6f837a243f9cdd097bd68f463" name="a53211bf6f837a243f9cdd097bd68f463"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53211bf6f837a243f9cdd097bd68f463">&#9670;&#160;</a></span>LOG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOG</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>enable</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>msg</em></span>&#160;)&#160;&#160;&#160;<a class="el" href="#a8d7b1a8651ec4b1742bdf9bd044fc4d2">log_base</a>( enable , std::cerr , msg )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00161">161</a> 行定义.</p>

</div>
</div>
<a id="a9b6806226cd2d301b0f7edd50825780f" name="a9b6806226cd2d301b0f7edd50825780f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b6806226cd2d301b0f7edd50825780f">&#9670;&#160;</a></span>LOGLN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOGLN</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>enable</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>msg</em></span>&#160;)&#160;&#160;&#160;<a class="el" href="#a92938bf426566e58f2c0eb0eca83c7e3">logln_base</a>( enable , std::cerr , msg )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00167">167</a> 行定义.</p>

</div>
</div>
<a id="a5e96928e16ca9022cb7002cde20a71da" name="a5e96928e16ca9022cb7002cde20a71da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e96928e16ca9022cb7002cde20a71da">&#9670;&#160;</a></span>MSG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MSG</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>color</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00126">126</a> 行定义.</p>

</div>
</div>
<a id="a47497e4d892bd8be1db0117d6cf456a6" name="a47497e4d892bd8be1db0117d6cf456a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47497e4d892bd8be1db0117d6cf456a6">&#9670;&#160;</a></span>MSG_1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MSG_1</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>format</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>coor</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em></em></span>...&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00127">127</a> 行定义.</p>

</div>
</div>
<a id="a921f5e81135829921f06534e1df323a8" name="a921f5e81135829921f06534e1df323a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a921f5e81135829921f06534e1df323a8">&#9670;&#160;</a></span>MSG_2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MSG_2</td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00128">128</a> 行定义.</p>

</div>
</div>
<a id="a3334b4c7a06d103e2758af5421a6a1c5" name="a3334b4c7a06d103e2758af5421a6a1c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3334b4c7a06d103e2758af5421a6a1c5">&#9670;&#160;</a></span>OK_MSG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define OK_MSG&#160;&#160;&#160;<a class="el" href="#a70a9e4e4cfc9146e8009c8812c600c27">TGREEN</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00036">36</a> 行定义.</p>

</div>
</div>
<a id="a0e876cdc2cc84e6dfeafde01db4d8a3d" name="a0e876cdc2cc84e6dfeafde01db4d8a3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e876cdc2cc84e6dfeafde01db4d8a3d">&#9670;&#160;</a></span>RIGHT_BRACE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define RIGHT_BRACE&#160;&#160;&#160;&quot;&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00075">75</a> 行定义.</p>

</div>
</div>
<a id="aec0e1d2d6520a88d62913bbdbd8e84d4" name="aec0e1d2d6520a88d62913bbdbd8e84d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0e1d2d6520a88d62913bbdbd8e84d4">&#9670;&#160;</a></span>TBLUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TBLUE&#160;&#160;&#160;&quot;\033[34m&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00037">37</a> 行定义.</p>

</div>
</div>
<a id="a70a9e4e4cfc9146e8009c8812c600c27" name="a70a9e4e4cfc9146e8009c8812c600c27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70a9e4e4cfc9146e8009c8812c600c27">&#9670;&#160;</a></span>TGREEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TGREEN&#160;&#160;&#160;&quot;\033[32m&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00035">35</a> 行定义.</p>

</div>
</div>
<a id="ac0d4a58b35d49450ad09b7d84319a624" name="ac0d4a58b35d49450ad09b7d84319a624"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0d4a58b35d49450ad09b7d84319a624">&#9670;&#160;</a></span>TNORMAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TNORMAL&#160;&#160;&#160;&quot;\033[0m&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00040">40</a> 行定义.</p>

</div>
</div>
<a id="afa7a41e86b5a1e570713a9b9bae068f0" name="afa7a41e86b5a1e570713a9b9bae068f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa7a41e86b5a1e570713a9b9bae068f0">&#9670;&#160;</a></span>TRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TRED&#160;&#160;&#160;&quot;\033[31m&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>常用的一些工具算法或者定义 </p>
<dl class="section note"><dt>注解</dt><dd>现在这些函数不支持获取多个查询的URL内容 </dd></dl>
<dl class="section version"><dt>版本</dt><dd>1.2.5 </dd></dl>
<dl class="section date"><dt>日期</dt><dd>2017-2-8 ~ 2024-1-11 </dd></dl>
<dl class="section author"><dt>作者</dt><dd>宋炜 2021-02-01 1.2.0 ADDED 添加parseGMP函数 2021-07-12 1.2.1 ADDED 添加字符串的split函数 2021-08-02 1.2.2 ADDED 添加VT100颜色定义 2021-9-30 1.2.3 ADDED 添加判断目录是否为空函数 ADDED 添加删除文件接口 ADDED 添加清理目录接口 2022-10-28 1.2.4 ADDED 添加从字符串中抽取文件名 2024-01-11 1.2.5 ADDED 添加backtrace功能 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00033">33</a> 行定义.</p>

</div>
</div>
<a id="a7af93a5ebfd8ccac4fec0d7f65b5f5cd" name="a7af93a5ebfd8ccac4fec0d7f65b5f5cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7af93a5ebfd8ccac4fec0d7f65b5f5cd">&#9670;&#160;</a></span>TYELLOW</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TYELLOW&#160;&#160;&#160;&quot;\033[33m&quot;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00038">38</a> 行定义.</p>

</div>
</div>
<a id="a86d500a34c624c2cae56bc25a31b12f3" name="a86d500a34c624c2cae56bc25a31b12f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86d500a34c624c2cae56bc25a31b12f3">&#9670;&#160;</a></span>UNUSED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UNUSED</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>x</em></span></td><td>)</td>
          <td>&#160;&#160;&#160;(void )x</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00059">59</a> 行定义.</p>

</div>
</div>
<a id="ad276adf60b6ce23b45da05a6df14c3cb" name="ad276adf60b6ce23b45da05a6df14c3cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad276adf60b6ce23b45da05a6df14c3cb">&#9670;&#160;</a></span>WARN_MSG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WARN_MSG</td>
          <td>(</td>
          <td class="paramtype"></td>          <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="#a5e96928e16ca9022cb7002cde20a71da">MSG</a>( str , <a class="el" href="#a7af93a5ebfd8ccac4fec0d7f65b5f5cd">TYELLOW</a> )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00146">146</a> 行定义.</p>

</div>
</div>
<a id="a0f92dc8e39d938f21d077a42098bdedf" name="a0f92dc8e39d938f21d077a42098bdedf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f92dc8e39d938f21d077a42098bdedf">&#9670;&#160;</a></span>WARNING_MSG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WARNING_MSG&#160;&#160;&#160;<a class="el" href="#a7af93a5ebfd8ccac4fec0d7f65b5f5cd">TYELLOW</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00039">39</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">类型定义说明</h2>
<a id="afc91d3cceff94258bb6566969046caa5" name="afc91d3cceff94258bb6566969046caa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc91d3cceff94258bb6566969046caa5">&#9670;&#160;</a></span>hash_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint64_t <a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00169">169</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">函数说明</h2>
<a id="a91bf6ce30f0a6e35897002a612542d66" name="a91bf6ce30f0a6e35897002a612542d66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91bf6ce30f0a6e35897002a612542d66">&#9670;&#160;</a></span>clearDir()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool clearDir </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>删除当前目录下的所有内容 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path[</td><td>I ]， 要清理的目录 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true，否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00339">339</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a91bf6ce30f0a6e35897002a612542d66_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a91bf6ce30f0a6e35897002a612542d66_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a91bf6ce30f0a6e35897002a612542d66_cgraph" id="ad0/d0e/misc_8hpp_a91bf6ce30f0a6e35897002a612542d66_cgraph">
<area shape="rect" title="删除当前目录下的所有内容" alt="" coords="5,5,72,32"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#a82532c7da66cb6f199552ed698d23c48" title="removeFile" alt="" coords="120,5,205,32"/>
<area shape="poly" title=" " alt="" coords="72,16,104,16,104,21,72,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#aadd2e9ee5179b644dac3206cdd662f34" title="删除满足条件要求的文件或者目录" alt="" coords="253,5,357,32"/>
<area shape="poly" title=" " alt="" coords="205,16,237,16,237,21,205,21"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="405,5,454,32"/>
<area shape="poly" title=" " alt="" coords="358,16,389,16,389,21,358,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="502,5,569,32"/>
<area shape="poly" title=" " alt="" coords="454,16,486,16,486,21,454,21"/>
</map>
</div>

</div>
</div>
<a id="ad605102266bc9a7e031f96829c2025c2" name="ad605102266bc9a7e031f96829c2025c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad605102266bc9a7e031f96829c2025c2">&#9670;&#160;</a></span>cpuID()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string cpuID </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>读取CPU ID </p>
<dl class="section return"><dt>返回</dt><dd></dd></dl>

</div>
</div>
<a id="aa6ab57aaa484b0046c82e74c5c30e050" name="aa6ab57aaa484b0046c82e74c5c30e050"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6ab57aaa484b0046c82e74c5c30e050">&#9670;&#160;</a></span>dirEmpty()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool dirEmpty </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>dir</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>判断目录是否为空 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">dir[</td><td>I ]， 目录名称 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>目录为空返回true，否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00316">316</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_aa6ab57aaa484b0046c82e74c5c30e050_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_aa6ab57aaa484b0046c82e74c5c30e050_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_aa6ab57aaa484b0046c82e74c5c30e050_cgraph" id="ad0/d0e/misc_8hpp_aa6ab57aaa484b0046c82e74c5c30e050_cgraph">
<area shape="rect" title="判断目录是否为空" alt="" coords="5,5,79,32"/>
<area shape="rect" href="../../dc/d2f/classfs.html#acddf6fbd688a9f3ab94f8634090ac9db" title="判断指定目录是否是空目录" alt="" coords="127,5,219,32"/>
<area shape="poly" title=" " alt="" coords="79,16,111,16,111,21,79,21"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="267,5,315,32"/>
<area shape="poly" title=" " alt="" coords="219,16,251,16,251,21,219,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="363,5,431,32"/>
<area shape="poly" title=" " alt="" coords="316,16,348,16,348,21,316,21"/>
</map>
</div>

</div>
</div>
<a id="ac19d75ec7032d98bde0b289f395bf9af" name="ac19d75ec7032d98bde0b289f395bf9af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac19d75ec7032d98bde0b289f395bf9af">&#9670;&#160;</a></span>ExecCmd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ExecCmd </td>
          <td>(</td>
          <td class="paramtype">std::string</td>          <td class="paramname"><span class="paramname"><em>pszCmd</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>detachParent</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aaa7cd844529d35582ff924713a697184" name="aaa7cd844529d35582ff924713a697184"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa7cd844529d35582ff924713a697184">&#9670;&#160;</a></span>execCmd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool execCmd </td>
          <td>(</td>
          <td class="paramtype">std::string</td>          <td class="paramname"><span class="paramname"><em>pszCmd</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(const std::string &amp;)&gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>异步执行外部程序，通过回调函数获取程序输出的标准流数据 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">pszCmd[</td><td>I ]， 外部程序 </td></tr>
    <tr><td class="paramname">fun[</td><td>I ]， 结果回调函数 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功启动外部程序返回true，否则返回false </dd></dl>

</div>
</div>
<a id="a61e82baec4cd1113d77b65371f3b8c3b" name="a61e82baec4cd1113d77b65371f3b8c3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61e82baec4cd1113d77b65371f3b8c3b">&#9670;&#160;</a></span>ExeCmd()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ExeCmd </td>
          <td>(</td>
          <td class="paramtype">std::string</td>          <td class="paramname"><span class="paramname"><em>pszCmd</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>执行外部程序，返回程序执行的标准输出结果 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">pszCmd[</td><td>I ], 外部程序 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd></dd></dl>

</div>
</div>
<a id="a7d89edea2694a572f10f019e2b0731c5" name="a7d89edea2694a572f10f019e2b0731c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d89edea2694a572f10f019e2b0731c5">&#9670;&#160;</a></span>fileName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string fileName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>从路径中抽取文件名。 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path[</td><td>I ] 完整路径内容 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>如果路径空内容，路径是是目录返回空字符串，否则返回文件名称 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00300">300</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_cgraph" id="ad0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_cgraph">
<area shape="rect" title="从路径中抽取文件名。" alt="" coords="5,5,79,32"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="127,5,194,32"/>
<area shape="poly" title=" " alt="" coords="79,16,111,16,111,21,79,21"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_icgraph" id="ad0/d0e/misc_8hpp_a7d89edea2694a572f10f019e2b0731c5_icgraph">
<area shape="rect" title="从路径中抽取文件名。" alt="" coords="211,81,284,108"/>
<area shape="rect" href="../../db/d0b/classwheels_1_1ali_o_s_s.html#accb5424154991b92f37f274f15200113" title=" " alt="" coords="5,5,163,32"/>
<area shape="poly" title=" " alt="" coords="212,75,162,46,133,35,135,30,164,42,215,70"/>
<area shape="rect" href="../../db/d0b/classwheels_1_1ali_o_s_s.html#a68926e3ee8ed4a544688030648e6a11b" title="批量上传操作" alt="" coords="5,56,163,83"/>
<area shape="poly" title=" " alt="" coords="195,89,163,84,163,79,196,84"/>
<area shape="rect" href="../../db/d0b/classwheels_1_1ali_o_s_s.html#a6c61d77f25ef9dea32e80053742a5a77" title="上传文件到服务器" alt="" coords="5,107,163,133"/>
<area shape="poly" title=" " alt="" coords="196,105,163,110,163,105,195,100"/>
<area shape="rect" href="../../db/d0b/classwheels_1_1ali_o_s_s.html#a2322e2d02d40bb34116aaed8d51a8589" title=" " alt="" coords="5,157,163,184"/>
<area shape="poly" title=" " alt="" coords="215,119,164,148,135,159,133,154,162,143,212,115"/>
</map>
</div>

</div>
</div>
<a id="a1281e08e5da281269eef64e5790c4116" name="a1281e08e5da281269eef64e5790c4116"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1281e08e5da281269eef64e5790c4116">&#9670;&#160;</a></span>fileNameFromPath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool fileNameFromPath </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>name</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path[</td><td>I ], 路径名 </td></tr>
    <tr><td class="paramname">name[</td><td>O ], 文件名称 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回true, 否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00526">526</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_cgraph" id="ad0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_cgraph">
<area shape="rect" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="5,5,136,32"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="184,5,232,32"/>
<area shape="poly" title=" " alt="" coords="136,16,168,16,168,21,136,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="280,5,347,32"/>
<area shape="poly" title=" " alt="" coords="233,16,264,16,264,21,233,21"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_icgraph" id="ad0/d0e/misc_8hpp_a1281e08e5da281269eef64e5790c4116_icgraph">
<area shape="rect" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="210,81,340,108"/>
<area shape="rect" href="../../d4/d31/classwheels_1_1curl_ftp.html#a05feb0263f26899dc82d5d37563f527f" title="上传文件到服务器" alt="" coords="5,5,162,32"/>
<area shape="poly" title=" " alt="" coords="230,77,161,46,129,35,131,30,163,42,232,72"/>
<area shape="rect" href="../../d4/d31/classwheels_1_1curl_ftp.html#a13b876b8b1d24c1492e05dbb15983deb" title=" " alt="" coords="5,56,162,83"/>
<area shape="poly" title=" " alt="" coords="194,87,162,82,162,77,195,81"/>
<area shape="rect" href="../../d2/d96/classwheels_1_1rc_ftp.html#a2587dfd75a0fa9e9107eaa7cdb545a63" title="上传文件到服务器" alt="" coords="10,107,157,133"/>
<area shape="poly" title=" " alt="" coords="195,108,157,113,156,108,194,103"/>
<area shape="rect" href="../../d2/d96/classwheels_1_1rc_ftp.html#a1bd65817852bdb098e40e79dc154d724" title=" " alt="" coords="10,157,157,184"/>
<area shape="poly" title=" " alt="" coords="232,117,163,148,131,159,129,154,161,143,230,113"/>
</map>
</div>

</div>
</div>
<a id="a57a708e347fb48a1bd1b9dc31c00bd15" name="a57a708e347fb48a1bd1b9dc31c00bd15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57a708e347fb48a1bd1b9dc31c00bd15">&#9670;&#160;</a></span>gbk2utf8()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int gbk2utf8 </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **</td>          <td class="paramname"><span class="paramname"><em>rst</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t &amp;</td>          <td class="paramname"><span class="paramname"><em>rlen</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>GBK编码转换成UTF8编码 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from[</td><td>I ], </td></tr>
    <tr><td class="paramname">len[</td><td>I ], </td></tr>
    <tr><td class="paramname">rst[</td><td>O ], </td></tr>
    <tr><td class="paramname">rlen[</td><td>O ], </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd></dd></dl>

</div>
</div>
<a id="ab148021dd478aa69c83029819b268737" name="ab148021dd478aa69c83029819b268737"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab148021dd478aa69c83029819b268737">&#9670;&#160;</a></span>getFileSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t getFileSize </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取文件大小 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path[</td><td>I ] 文件完整路径 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回文件字节数量，否则返回0 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00558">558</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_ab148021dd478aa69c83029819b268737_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_ab148021dd478aa69c83029819b268737_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_ab148021dd478aa69c83029819b268737_icgraph" id="ad0/d0e/misc_8hpp_ab148021dd478aa69c83029819b268737_icgraph">
<area shape="rect" title="获取文件大小" alt="" coords="220,5,306,32"/>
<area shape="rect" href="../../df/dbb/classwheels_1_1ini_read.html#a09aa97ad021b44af9fde585bd7700dd6" title=" " alt="" coords="5,5,172,32"/>
<area shape="poly" title=" " alt="" coords="204,21,172,21,172,16,204,16"/>
</map>
</div>

</div>
</div>
<a id="ad87e6be76e73d5a94404e82ccfcd082b" name="ad87e6be76e73d5a94404e82ccfcd082b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad87e6be76e73d5a94404e82ccfcd082b">&#9670;&#160;</a></span>getLocalIP()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string getLocalIP </td>
          <td>(</td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>ipv4</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>获取本机的IP地址 </p>
<dl class="section warning"><dt>警告</dt><dd>这个函数中没有针对网络库进行初始化，在windows下使用这个函数需要注意针对winsock进行初始化 </dd></dl>
<dl class="section return"><dt>返回</dt><dd></dd></dl>

</div>
</div>
<a id="ac7d1e0a91bfa612dce72b060d9e15119" name="ac7d1e0a91bfa612dce72b060d9e15119"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7d1e0a91bfa612dce72b060d9e15119">&#9670;&#160;</a></span>hash_() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> hash_ </td>
          <td>(</td>
          <td class="paramtype">char const *</td>          <td class="paramname"><span class="paramname"><em>str</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00051">51</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_ac7d1e0a91bfa612dce72b060d9e15119_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_ac7d1e0a91bfa612dce72b060d9e15119_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_ac7d1e0a91bfa612dce72b060d9e15119_icgraph" id="ad0/d0e/misc_8hpp_ac7d1e0a91bfa612dce72b060d9e15119_icgraph">
<area shape="rect" title=" " alt="" coords="442,109,498,136"/>
<area shape="rect" href="../../d7/d4f/classwheels_1_1file_client_1_1file_client.html#a7e34d6a3082feb6f9da01ae2cd908168" title="根据URL中的协议内容初始化下载接口。" alt="" coords="229,5,375,48"/>
<area shape="poly" title=" " alt="" coords="443,101,419,81,393,62,370,51,372,46,395,58,423,76,446,97"/>
<area shape="rect" href="../../d7/d4f/classwheels_1_1file_client_1_1file_client.html#af081cb2a769a3aed4e7e2d32ea3da95c" title=" " alt="" coords="210,72,394,115"/>
<area shape="poly" title=" " alt="" coords="426,118,394,112,395,107,427,113"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#a032ca694fce284d2917919e388905a7d" title="解析GMT时间字符串" alt="" coords="261,139,343,165"/>
<area shape="poly" title=" " alt="" coords="427,133,344,147,343,142,426,128"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a21ebcf8bf1ff7956081d1ec2265befc9" title="将URL对象输出成一个完整URL字符串" alt="" coords="251,189,352,216"/>
<area shape="poly" title=" " alt="" coords="443,149,395,180,354,195,352,190,393,175,440,144"/>
<area shape="rect" href="../../d4/d31/classwheels_1_1curl_ftp.html#a05feb0263f26899dc82d5d37563f527f" title="上传文件到服务器" alt="" coords="5,113,162,140"/>
<area shape="poly" title=" " alt="" coords="236,189,209,180,161,154,130,143,132,138,163,150,211,175,237,184"/>
<area shape="rect" href="../../d4/d31/classwheels_1_1curl_ftp.html#a13b876b8b1d24c1492e05dbb15983deb" title=" " alt="" coords="5,164,162,191"/>
<area shape="poly" title=" " alt="" coords="236,198,162,189,162,184,237,192"/>
<area shape="rect" href="../../d2/d96/classwheels_1_1rc_ftp.html#a2587dfd75a0fa9e9107eaa7cdb545a63" title="上传文件到服务器" alt="" coords="10,215,157,241"/>
<area shape="poly" title=" " alt="" coords="236,213,157,222,157,217,236,208"/>
<area shape="rect" href="../../d2/d96/classwheels_1_1rc_ftp.html#a1bd65817852bdb098e40e79dc154d724" title=" " alt="" coords="10,265,157,292"/>
<area shape="poly" title=" " alt="" coords="250,224,163,256,129,267,127,262,161,251,248,219"/>
</map>
</div>

</div>
</div>
<a id="a66cc7710f40747bfea171b40a8018b8e" name="a66cc7710f40747bfea171b40a8018b8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66cc7710f40747bfea171b40a8018b8e">&#9670;&#160;</a></span>hash_() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> hash_ </td>
          <td>(</td>
          <td class="paramtype">char const *</td>          <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00064">64</a> 行定义.</p>

</div>
</div>
<a id="a6d1f4bc2d820a40633066a2b177be8f0" name="a6d1f4bc2d820a40633066a2b177be8f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d1f4bc2d820a40633066a2b177be8f0">&#9670;&#160;</a></span>hash_compile_time()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> hash_compile_time </td>
          <td>(</td>
          <td class="paramtype">char const *</td>          <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a></td>          <td class="paramname"><span class="paramname"><em>last_value</em></span><span class="paramdefsep"> = </span><span class="paramdefval"><a class="el" href="#a7e44195ffbad9da273e65efb7ed69975">__basis</a></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00175">175</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_cgraph" id="ad0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_cgraph">
<area shape="rect" title=" " alt="" coords="5,29,139,56"/>
<area shape="poly" title=" " alt="" coords="48,30,44,21,47,11,57,5,72,3,88,5,97,12,94,16,86,10,72,8,59,10,51,14,50,20,53,28"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_icgraph" id="ad0/d0e/misc_8hpp_a6d1f4bc2d820a40633066a2b177be8f0_icgraph">
<area shape="rect" title=" " alt="" coords="167,29,300,56"/>
<area shape="poly" title=" " alt="" coords="262,16,252,10,233,8,216,10,206,15,204,20,208,28,204,30,199,21,202,11,214,5,233,3,254,5,265,12"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#a63f67c35d2dc8d92a9ea6da0eee9eaa0" title=" " alt="" coords="5,29,119,56"/>
<area shape="poly" title=" " alt="" coords="151,45,119,45,119,40,151,40"/>
</map>
</div>

</div>
</div>
<a id="adc75a513912f0c4d40d5882955b411c1" name="adc75a513912f0c4d40d5882955b411c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc75a513912f0c4d40d5882955b411c1">&#9670;&#160;</a></span>isDir()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool isDir </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>dir</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>判断是否是目录 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">dir[</td><td>I ],路径名称 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>如果是目录返回true,否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00291">291</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_cgraph" id="ad0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_cgraph">
<area shape="rect" title="判断是否是目录" alt="" coords="5,5,54,32"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="102,5,169,32"/>
<area shape="poly" title=" " alt="" coords="54,16,86,16,86,21,54,21"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_icgraph" id="ad0/d0e/misc_8hpp_adc75a513912f0c4d40d5882955b411c1_icgraph">
<area shape="rect" title="判断是否是目录" alt="" coords="605,107,654,133"/>
<area shape="rect" href="../../dc/d2f/classfs.html#acddf6fbd688a9f3ab94f8634090ac9db" title="判断指定目录是否是空目录" alt="" coords="446,19,538,45"/>
<area shape="poly" title=" " alt="" coords="596,99,556,72,517,48,519,43,559,67,599,95"/>
<area shape="rect" href="../../dc/d2f/classfs.html#aca59d4eca486930e503c0e6902ae591c" title="枚举文件，将指定目录按照原本的结构整理成一个可以以树形结构遍历的数据" alt="" coords="446,81,539,108"/>
<area shape="poly" title=" " alt="" coords="589,115,539,106,539,101,590,110"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#a1281e08e5da281269eef64e5790c4116" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="427,132,557,159"/>
<area shape="poly" title=" " alt="" coords="590,130,558,136,557,131,589,125"/>
<area shape="rect" href="../../dc/d2f/classfs.html#aadd2e9ee5179b644dac3206cdd662f34" title="删除满足条件要求的文件或者目录" alt="" coords="440,208,544,235"/>
<area shape="poly" title=" " alt="" coords="600,145,513,210,510,205,596,141"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#aa6ab57aaa484b0046c82e74c5c30e050" title="判断目录是否为空" alt="" coords="264,5,338,32"/>
<area shape="poly" title=" " alt="" coords="430,30,338,24,338,19,431,25"/>
<area shape="rect" href="../../d4/d31/classwheels_1_1curl_ftp.html#a05feb0263f26899dc82d5d37563f527f" title="上传文件到服务器" alt="" coords="223,56,379,83"/>
<area shape="poly" title=" " alt="" coords="439,128,426,122,378,97,348,86,349,81,380,92,428,118,441,123"/>
<area shape="rect" href="../../d4/d31/classwheels_1_1curl_ftp.html#a13b876b8b1d24c1492e05dbb15983deb" title=" " alt="" coords="223,107,379,133"/>
<area shape="poly" title=" " alt="" coords="411,137,379,133,380,128,412,132"/>
<area shape="rect" href="../../d2/d96/classwheels_1_1rc_ftp.html#a2587dfd75a0fa9e9107eaa7cdb545a63" title="上传文件到服务器" alt="" coords="228,157,374,184"/>
<area shape="poly" title=" " alt="" coords="412,159,374,164,374,158,411,153"/>
<area shape="rect" href="../../d2/d96/classwheels_1_1rc_ftp.html#a1bd65817852bdb098e40e79dc154d724" title=" " alt="" coords="228,208,374,235"/>
<area shape="poly" title=" " alt="" coords="450,168,380,198,348,210,346,205,378,194,448,163"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#a82532c7da66cb6f199552ed698d23c48" title="removeFile" alt="" coords="258,259,344,285"/>
<area shape="poly" title=" " alt="" coords="426,242,344,263,343,258,424,236"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#a91bf6ce30f0a6e35897002a612542d66" title="删除当前目录下的所有内容" alt="" coords="57,208,123,235"/>
<area shape="poly" title=" " alt="" coords="243,261,123,232,124,227,244,256"/>
<area shape="rect" href="../../db/dba/classwheels_1_1log_file.html#af0ca6507647b42f11202d3e08f2cfbad" title="配置LOG生成控制参数" alt="" coords="5,259,175,285"/>
<area shape="poly" title=" " alt="" coords="243,275,175,275,175,269,243,269"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a0a07c998d2fa4da5920d39421123dba0" title=" " alt="" coords="19,309,161,336"/>
<area shape="poly" title=" " alt="" coords="244,288,149,311,148,306,243,283"/>
</map>
</div>

</div>
</div>
<a id="aa55d507cca1bd486b35f16db6e683c1f" name="aa55d507cca1bd486b35f16db6e683c1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa55d507cca1bd486b35f16db6e683c1f">&#9670;&#160;</a></span>isIPv4()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isIPv4 </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>ipstr</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>判断是否是IPv4字符串 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ipstr[</td><td>I ], IP地址字符串。 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是IP地址返回true, 否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00435">435</a> 行定义.</p>

</div>
</div>
<a id="ac79a4e05918d249ac1b0ea6c1c4d20d5" name="ac79a4e05918d249ac1b0ea6c1c4d20d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac79a4e05918d249ac1b0ea6c1c4d20d5">&#9670;&#160;</a></span>isIPv6()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isIPv6 </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>ipstr</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>判断是否是IPv6字符串 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ipstr[</td><td>I ], IP地址字符串 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>是IPv6字符串返回true, 否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00446">446</a> 行定义.</p>

</div>
</div>
<a id="abb335c27232d047e28e7123f58fadb76" name="abb335c27232d047e28e7123f58fadb76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb335c27232d047e28e7123f58fadb76">&#9670;&#160;</a></span>localIP()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string localIP </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>eth</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>查询指定网卡IP地址 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">eth[</td><td>I ], 网卡名字 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回IP地址 </dd></dl>

</div>
</div>
<a id="a8d7b1a8651ec4b1742bdf9bd044fc4d2" name="a8d7b1a8651ec4b1742bdf9bd044fc4d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d7b1a8651ec4b1742bdf9bd044fc4d2">&#9670;&#160;</a></span>log_base()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void log_base </td>
          <td>(</td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>enable</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream &amp;</td>          <td class="paramname"><span class="paramname"><em>os</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>msg</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>输出信息到指定的流 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">enable,是否输出；true执行输出，false放弃输出</td><td></td></tr>
    <tr><td class="paramname">os,要输出的流</td><td></td></tr>
    <tr><td class="paramname">msg,要输出的信息</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00077">77</a> 行定义.</p>

</div>
</div>
<a id="a92938bf426566e58f2c0eb0eca83c7e3" name="a92938bf426566e58f2c0eb0eca83c7e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92938bf426566e58f2c0eb0eca83c7e3">&#9670;&#160;</a></span>logln_base()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void logln_base </td>
          <td>(</td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>enable</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ostream &amp;</td>          <td class="paramname"><span class="paramname"><em>os</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>str</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>按照行输出信息，也就是完成输出消息后再自动添加一个换行 </p>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00084">84</a> 行定义.</p>

</div>
</div>
<a id="a94febd15cfa38c4e0f3e8b90aaec5dc3" name="a94febd15cfa38c4e0f3e8b90aaec5dc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94febd15cfa38c4e0f3e8b90aaec5dc3">&#9670;&#160;</a></span>nowStr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string nowStr </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>当前时间的字符串 </p>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00392">392</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a94febd15cfa38c4e0f3e8b90aaec5dc3_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a94febd15cfa38c4e0f3e8b90aaec5dc3_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a94febd15cfa38c4e0f3e8b90aaec5dc3_icgraph" id="ad0/d0e/misc_8hpp_a94febd15cfa38c4e0f3e8b90aaec5dc3_icgraph">
<area shape="rect" title="当前时间的字符串" alt="" coords="227,208,289,235"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#a3a92acce185607ecbba25373ab3bee16" title="删除数据。" alt="" coords="38,5,146,32"/>
<area shape="poly" title=" " alt="" coords="249,193,241,159,226,120,206,80,177,46,162,36,146,29,148,24,165,31,180,42,210,77,231,117,246,158,254,192"/>
<area shape="rect" href="../../d5/d99/classwheels_1_1backtrace.html#a92d30dc9b2ebd59de3cb4f46f996bdd5" title="dump" alt="" coords="8,56,176,83"/>
<area shape="poly" title=" " alt="" coords="244,195,218,144,200,119,177,97,157,86,160,81,180,93,204,115,223,141,249,192"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#a4f6fe1bcfc479dbcdd8e5c7e78244935" title=" " alt="" coords="21,107,163,133"/>
<area shape="poly" title=" " alt="" coords="234,198,209,171,177,148,153,136,155,131,180,143,212,167,238,194"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#ab67deb245a981b191fea9d358869b5c8" title=" " alt="" coords="21,157,163,184"/>
<area shape="poly" title=" " alt="" coords="211,209,178,199,140,187,142,182,179,193,213,204"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#a35e01118ce2c6af9543a63870c74edd8" title=" " alt="" coords="21,208,163,235"/>
<area shape="poly" title=" " alt="" coords="211,224,163,224,163,219,211,219"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#a812b8d051a6389593caf96c59c9e1618" title=" " alt="" coords="33,259,151,285"/>
<area shape="poly" title=" " alt="" coords="213,239,179,249,142,261,140,255,178,244,211,233"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0" title="设置数据" alt="" coords="22,309,162,336"/>
<area shape="poly" title=" " alt="" coords="238,249,212,275,180,300,155,311,153,306,177,295,209,271,234,245"/>
<area shape="rect" href="../../dd/d8c/class_c_conf_file.html#aa7f1148517de34769b19dfd9461ff393" title=" " alt="" coords="22,360,162,387"/>
<area shape="poly" title=" " alt="" coords="249,250,223,301,204,328,180,350,160,362,157,357,177,346,200,324,218,298,244,248"/>
<area shape="rect" href="../../df/d42/classss_status_bar.html#ac405576ec6f94574fc90add9f889e9ba" title=" " alt="" coords="5,411,179,437"/>
<area shape="poly" title=" " alt="" coords="254,251,246,285,231,325,210,366,180,401,163,412,160,408,177,397,206,363,226,323,241,283,249,249"/>
</map>
</div>

</div>
</div>
<a id="ad1d4376cb392143209ab5048310f2742" name="ad1d4376cb392143209ab5048310f2742"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1d4376cb392143209ab5048310f2742">&#9670;&#160;</a></span>operator&quot;&quot;_c_strLen()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t operator&quot;&quot;_c_strLen </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em></em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>N</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00186">186</a> 行定义.</p>

</div>
</div>
<a id="a63f67c35d2dc8d92a9ea6da0eee9eaa0" name="a63f67c35d2dc8d92a9ea6da0eee9eaa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63f67c35d2dc8d92a9ea6da0eee9eaa0">&#9670;&#160;</a></span>operator&quot;&quot;_hash()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> operator&quot;&quot;_hash </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em></em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00180">180</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a63f67c35d2dc8d92a9ea6da0eee9eaa0_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a63f67c35d2dc8d92a9ea6da0eee9eaa0_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a63f67c35d2dc8d92a9ea6da0eee9eaa0_cgraph" id="ad0/d0e/misc_8hpp_a63f67c35d2dc8d92a9ea6da0eee9eaa0_cgraph">
<area shape="rect" title=" " alt="" coords="5,29,119,56"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#a6d1f4bc2d820a40633066a2b177be8f0" title=" " alt="" coords="167,29,300,56"/>
<area shape="poly" title=" " alt="" coords="119,40,151,40,151,45,119,45"/>
<area shape="poly" title=" " alt="" coords="204,30,199,21,202,11,214,5,233,3,254,5,265,12,262,16,252,10,233,8,216,10,206,15,204,20,208,28"/>
</map>
</div>

</div>
</div>
<a id="ac8a8a7ed4acfadc5c30d7950fc7e8260" name="ac8a8a7ed4acfadc5c30d7950fc7e8260"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8a8a7ed4acfadc5c30d7950fc7e8260">&#9670;&#160;</a></span>parseGMT()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t parseGMT </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>gmt</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>loc</em></span><span class="paramdefsep"> = </span><span class="paramdefval">8</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>解析GMT时间字符串 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">gmt[</td><td>I ],GMT字符串 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>返回转换结果 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00457">457</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_ac8a8a7ed4acfadc5c30d7950fc7e8260_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_ac8a8a7ed4acfadc5c30d7950fc7e8260_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_ac8a8a7ed4acfadc5c30d7950fc7e8260_cgraph" id="ad0/d0e/misc_8hpp_ac8a8a7ed4acfadc5c30d7950fc7e8260_cgraph">
<area shape="rect" title="解析GMT时间字符串" alt="" coords="5,5,88,32"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#ac7d1e0a91bfa612dce72b060d9e15119" title=" " alt="" coords="136,5,192,32"/>
<area shape="poly" title=" " alt="" coords="88,16,120,16,120,21,88,21"/>
</map>
</div>

</div>
</div>
<a id="aa0ff437d0b446235c74667f8bb5fceac" name="aa0ff437d0b446235c74667f8bb5fceac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0ff437d0b446235c74667f8bb5fceac">&#9670;&#160;</a></span>ps()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ps </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>pattern</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(std::vector&lt; std::string &gt; &amp;&amp;) &gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>查看进程列表 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern[</td><td>I ]， 匹配模式字符串 </td></tr>
    <tr><td class="paramname">fun</td><td>操作结果 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a82532c7da66cb6f199552ed698d23c48" name="a82532c7da66cb6f199552ed698d23c48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82532c7da66cb6f199552ed698d23c48">&#9670;&#160;</a></span>removeFile()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool removeFile </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>pattern</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>re</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>removeFile </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td></td></tr>
    <tr><td class="paramname">pattern</td><td></td></tr>
    <tr><td class="paramname">re</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd></dd></dl>

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00327">327</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_cgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_cgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_cgraph" id="ad0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_cgraph">
<area shape="rect" title="removeFile" alt="" coords="5,5,91,32"/>
<area shape="rect" href="../../dc/d2f/classfs.html#aadd2e9ee5179b644dac3206cdd662f34" title="删除满足条件要求的文件或者目录" alt="" coords="139,5,243,32"/>
<area shape="poly" title=" " alt="" coords="91,16,123,16,123,21,91,21"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="291,5,339,32"/>
<area shape="poly" title=" " alt="" coords="243,16,275,16,275,21,243,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="387,5,455,32"/>
<area shape="poly" title=" " alt="" coords="340,16,372,16,372,21,340,21"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_icgraph" id="ad0/d0e/misc_8hpp_a82532c7da66cb6f199552ed698d23c48_icgraph">
<area shape="rect" title="removeFile" alt="" coords="223,56,308,83"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#a91bf6ce30f0a6e35897002a612542d66" title="删除当前目录下的所有内容" alt="" coords="57,5,123,32"/>
<area shape="poly" title=" " alt="" coords="207,55,123,31,124,26,208,50"/>
<area shape="rect" href="../../db/dba/classwheels_1_1log_file.html#af0ca6507647b42f11202d3e08f2cfbad" title="配置LOG生成控制参数" alt="" coords="5,56,175,83"/>
<area shape="poly" title=" " alt="" coords="207,72,175,72,175,67,207,67"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a0a07c998d2fa4da5920d39421123dba0" title=" " alt="" coords="19,107,161,133"/>
<area shape="poly" title=" " alt="" coords="209,88,140,109,138,103,207,83"/>
</map>
</div>

</div>
</div>
<a id="a60fd19bc6b440bebc49e3a72cec3de0c" name="a60fd19bc6b440bebc49e3a72cec3de0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60fd19bc6b440bebc49e3a72cec3de0c">&#9670;&#160;</a></span>reverseByte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool reverseByte </td>
          <td>(</td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>将数据按照字节方式改变大小端。长度必须是偶数的，否则返回错误 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>I ] </td></tr>
    <tr><td class="paramname">len[</td><td>I ] </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true；否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00416">416</a> 行定义.</p>

</div>
</div>
<a id="a23cfcaab6b6df224338877527e1f49dc" name="a23cfcaab6b6df224338877527e1f49dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23cfcaab6b6df224338877527e1f49dc">&#9670;&#160;</a></span>split()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int split </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>str</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char</td>          <td class="paramname"><span class="paramname"><em>c</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>rst</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>将字符串按照指定的标记分割成多个字符串 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">str[</td><td>I ]， 要切割的字符串 </td></tr>
    <tr><td class="paramname">c[</td><td>I ]， 分割标记 </td></tr>
    <tr><td class="paramname">rst[</td><td>O ]， 分割结果 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回字符串数量，否则返回-1 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00730">730</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d0/d0e/misc_8hpp_a23cfcaab6b6df224338877527e1f49dc_icgraph.png" border="0" usemap="#ad0/d0e/misc_8hpp_a23cfcaab6b6df224338877527e1f49dc_icgraph" alt=""/></div>
<map name="ad0/d0e/misc_8hpp_a23cfcaab6b6df224338877527e1f49dc_icgraph" id="ad0/d0e/misc_8hpp_a23cfcaab6b6df224338877527e1f49dc_icgraph">
<area shape="rect" title="将字符串按照指定的标记分割成多个字符串" alt="" coords="185,47,230,73"/>
<area shape="rect" href="../../d1/de6/classwheels_1_1private_____1_1path.html#a7c0fd329389a0267cec0cb6978843a4b" title=" " alt="" coords="5,5,137,48"/>
<area shape="poly" title=" " alt="" coords="169,54,136,45,138,40,170,48"/>
<area shape="rect" href="../../d1/de6/classwheels_1_1private_____1_1path.html#af2f2d77160c62a00d2eff2a629c0f472" title=" " alt="" coords="5,72,137,115"/>
<area shape="poly" title=" " alt="" coords="170,72,138,80,136,75,169,66"/>
</map>
</div>

</div>
</div>
<a id="a39313e865510655edf68b11cbf7b7b6f" name="a39313e865510655edf68b11cbf7b7b6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39313e865510655edf68b11cbf7b7b6f">&#9670;&#160;</a></span>utf2gbk()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t utf2gbk </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>msg</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **</td>          <td class="paramname"><span class="paramname"><em>data</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>UTF8编码转换成GBK编码 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from[</td><td>I ], </td></tr>
    <tr><td class="paramname">len[</td><td>I ], </td></tr>
    <tr><td class="paramname">rst[</td><td>O ], </td></tr>
    <tr><td class="paramname">rlen[</td><td>O ] </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd></dd></dl>

</div>
</div>
<h2 class="groupheader">变量说明</h2>
<a id="a7e44195ffbad9da273e65efb7ed69975" name="a7e44195ffbad9da273e65efb7ed69975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e44195ffbad9da273e65efb7ed69975">&#9670;&#160;</a></span>__basis</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> __basis = 0xCBF29CE484222325ull</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00170">170</a> 行定义.</p>

</div>
</div>
<a id="a4f54077a0fc6bbefd339a1621aedf256" name="a4f54077a0fc6bbefd339a1621aedf256"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f54077a0fc6bbefd339a1621aedf256">&#9670;&#160;</a></span>__prime</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afc91d3cceff94258bb6566969046caa5">hash_t</a> __prime = 0x100000001B3ull</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d0/d0e/misc_8hpp_source.html">misc.hpp</a> 第 <a class="el" href="../../d0/d0e/misc_8hpp_source.html#l00171">171</a> 行定义.</p>

</div>
</div>
<a id="a2094690597548488e18bb486e2f72263" name="a2094690597548488e18bb486e2f72263"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2094690597548488e18bb486e2f72263">&#9670;&#160;</a></span>G_LOG_BUF</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char G_LOG_BUF[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d7/d5f/misc_8cpp_source.html">misc.cpp</a> 第 <a class="el" href="../../d7/d5f/misc_8cpp_source.html#l00046">46</a> 行定义.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
